home *** CD-ROM | disk | FTP | other *** search
- unit EditMain;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- Menus, ComCtrls, StdCtrls, ShellAPI, ToolWin, ExtCtrls, RzPanel, Buttons,
- RichEdit, RzStatus, RichEdit2;
-
- type
- TForm1 = class(TForm)
- MainMenu1: TMainMenu;
- File1: TMenuItem;
- Edit1: TMenuItem;
- Format1: TMenuItem;
- Help1: TMenuItem;
- New1: TMenuItem;
- Open1: TMenuItem;
- Close1: TMenuItem;
- N1: TMenuItem;
- Save1: TMenuItem;
- SaveAs1: TMenuItem;
- N2: TMenuItem;
- SaveSetttings1: TMenuItem;
- Exit1: TMenuItem;
- RzToolbar1: TRzToolbar;
- FileNew: TSpeedButton;
- FileOpen: TSpeedButton;
- FileSave: TSpeedButton;
- FilePrint: TSpeedButton;
- RzSpacer1: TRzSpacer;
- SpeedButton5: TSpeedButton;
- SpeedButton6: TSpeedButton;
- SpeedButton7: TSpeedButton;
- RzSpacer2: TRzSpacer;
- UndoButton: TSpeedButton;
- RzStatusBar1: TRzStatusBar;
- RzClockStatus1: TRzClockStatus;
- Font1: TMenuItem;
- N3: TMenuItem;
- Bold1: TMenuItem;
- Italic1: TMenuItem;
- Underline1: TMenuItem;
- Strikeout1: TMenuItem;
- RichEdit1: TRichEdit2;
- RzStatusPane1: TRzStatusPane;
- Timer1: TTimer;
- RedoButton: TSpeedButton;
- RzSpacer3: TRzSpacer;
- EditCut: TSpeedButton;
- EditCopy: TSpeedButton;
- EditPaste: TSpeedButton;
- EditDelete: TSpeedButton;
- RzSpacer4: TRzSpacer;
- EditBold: TSpeedButton;
- EditItalic: TSpeedButton;
- EditUnderline: TSpeedButton;
- RzSpacer5: TRzSpacer;
- SpeedButton16: TSpeedButton;
- procedure FormCreate(Sender: TObject);
- procedure EditButtonClick (Sender: TObject);
- procedure EditSelectionClick(Sender: TObject);
- procedure RichEdit1URLClicked(Sender: TObject; const TheURL: String;
- Button: TMouseButton);
- procedure Timer1Timer(Sender: TObject);
- procedure RichEdit1SelectionChange(Sender: TObject);
- private
- { Private declarations }
- procedure EnableDisableToolBar;
- protected
- { Protected declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.EnableDisableToolBar;
- begin
- UndoButton.Enabled := RichEdit1.CanUndo;
- RedoButton.Enabled := RichEdit1.CanRedo;
- EditPaste.Enabled := IsClipboardFormatAvailable (cf_Text);
- EditDelete.Enabled := RichEdit1.GotSelection;
- EditCopy.Enabled := EditDelete.Enabled;
- EditCut.Enabled := EditCopy.Enabled;
- end;
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- DragAcceptFiles (RichEdit1.Handle, True);
- EnableDisableToolBar;
- end;
-
- procedure TForm1.EditButtonClick (Sender: TObject);
- begin
- with Sender as TSpeedButton do RichEdit1.Perform (Tag, 0, 0);
- EnableDisableToolBar;
- end;
-
- procedure TForm1.EditSelectionClick(Sender: TObject);
- var
- Style: Integer;
- cfm: TCharFormat;
- begin
- if Sender is TSpeedButton then Style := TSpeedButton(Sender).Tag else
- if Sender is TMenuItem then Style := TMenuItem(Sender).Tag else Exit;
- cfm.cbSize := sizeof (cfm);
- RichEdit1.Perform (em_GetCharFormat, Integer (True), Integer (@cfm));
- cfm.dwEffects := cfm.dwEffects xor Style;
- RichEdit1.Perform (em_SetCharFormat, scf_Selection, Integer (@cfm));
- EnableDisableToolBar;
- end;
-
- procedure TForm1.RichEdit1URLClicked(Sender: TObject; const TheURL: String; Button: TMouseButton);
- begin
- if Button = mbLeft then ShellExecute (Handle, 'open', PChar (TheURL), Nil, Nil, sw_Show);
- if Button = mbRight then ShowMessage (TheURL);
- end;
-
- procedure TForm1.Timer1Timer(Sender: TObject);
- begin
- RzStatusPane1.Caption := Format ('Row: %d, Col: %d', [RichEdit1.Row, RichEdit1.Column]);
- end;
-
- procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
- begin
- EnableDisableToolBar;
- end;
-
- end.
-